/**
 * 获取省市区数据函数
 */
import axios from 'axios'

function getCityData() {

  // 数据: https://yjy-oss-files.oss-cn-zhangjiakou.aliyuncs.com/tuxian/area.json
  // 1.当本地没有缓存, 发请求获取数据
  // 2.当本地有缓存, 取出本地数据

  // 返回Promise在then获取数据, 这里可能是异步操作可能是同步操作
  return new Promise((resolve, reject) => {
    // 约定: 数据缓存在window上的cityData字段
    if (window.cityData) {
      resolve(window.cityData)
    } else {
      const url = 'https://yjy-oss-files.oss-cn-zhangjiakou.aliyuncs.com/tuxian/area.json'
      axios.get(url)
        .then(res => {
          // console.log(res)
          // 缓存window对象上
          window.cityData = res.data
          resolve(res.data)
        })
        .catch(err => {
          console.log('error', err.message)
          reject(err)
        })
    }
  })
}

export default getCityData
